Automatic Email Consolidation for Multiple Participants

ABSTRACT

The invention is a data processing means wherein human perceptible elements of electronic information are gathered, prepared, formatted, or otherwise processed in forming a unified collection of such information storable as a distinct entity. In particular, the invention is a process for composing and displaying a consolidated message document. The preferred embodiment of the invention is a computer program that configures a general-purpose computer to implement the inventive process. Responsive to a user&#39;s selection of a message, the inventive process identifies all related messages that the user has received, inserts the related messages into a consolidated message document, and displays the consolidated message document on the user&#39;s output device. The inventive process further comprises the steps of removing duplicate message content, sorting the related messages within the consolidated message document according to user-specified preferences, storing the consolidated message document, and marking the related messages for deletion.

CROSS-REFERENCE TO RELATED APPLICATION

This application is related to co-pending U.S. utility patentapplication entitled “Automatic Email Consolidation for MultipleParticipants” filed on Jun. 30, 2004 and accorded Ser. No. 10/880,729,which is entirely incorporated herein by reference.

FIELD OF THE INVENTION

The present invention generally relates to a data processing means orsteps wherein human perceptible elements of electronic information aregathered, prepared, formatted, or otherwise processed in forming aunified collection of such information storable as a distinct entity. Inparticular, the present invention relates to means or steps forcomposing an email message document wherein one or more elements of thedocument are extracted from related email message documents.

BACKGROUND OF THE INVENTION

Currently, email clients such as MICROSOFT OUTLOOK and LOTUS NOTESenable a user to exchange electronic messages with other users throughnetworked email servers. These email clients typically display to a usera list of messages that the user has received. If the user wants to viewthe full message, the user selects the message from the displayed listand the email client renders the selected message on the display device.The user must repeat this process for every separate message that theuser wants to view.

Many common email clients also enable a user to sort and group messagesby various message attributes, including the subject line. Thus, userscan group related messages and replies in the displayed list, but stillmust view each message individually.

If a user wants to respond to a message, the user simply selects themessage from the displayed list, much like viewing the message, andactivates a “reply” command. In general, an email client responds to a“reply” command by creating a new message with the same subject line.Many email clients also copy the content of the original message intothe reply message. FIG. 1, for example, depicts message text 100 thatuser 101 has created to send to four recipients 102, with subject line103. FIGS. 2 and 3 represent typical responses to the messageillustrated in FIG. 1. As illustrated in FIGS. 2 and 3, each responsecontains the same subject line 103. Additionally, each response containsthe original message text 100 as well as the response text 200 and 300.

The typical email client's response to a reply command, which generallyincludes copying the original message content into the reply message,may be useful and convenient for users exchanging a limited number ofmessages. As the number of electronic messages and replies increases,though, the duplicate content increases the burden on the user toprocess and manage the information in the messages, and may increase theburden on the underlying data storage system as well. The burdenincreases proportionally with each additional user that participates inthe exchange.

While common email clients relieve some of the burden by allowing theuser to group related messages in the displayed list of messages, suchfunctionality does not relieve the user of the burden of opening andreading multiple messages, nor does it relieve the burden on theunderlying data storage system.

U.S. Pat. No. 6,453,337 (issued Sep. 17, 2002) (the '337 patent)discloses methods and systems for creating, tracking, and managing thestates of electronic media containing static and dynamic content (whichthe '337 patent refers to as a “zaplet”). The dynamic content is storedin a database accessible over a network through a server. The serveraccepts input from one or more “participants” in the zaplet to updatethe dynamic content. Thus, the '337 patent addresses some of theproblems associated with group communication through an electronicmedium, but the systems and methods disclosed therein rely on a complexauthoring and delivery system and require a dedicated server to processthe communications and update content. U.S. Pat. No. 6,457,045 (issuedSep. 24, 2002), U.S. Pat. No. 6,496,849 (issued Dec. 17, 2002), and U.S.Pat. No. 6,505,233 (issued Jan. 7, 2003) all generally relate to thesame methods and systems disclosed in the '337 patent, and all require asimilar complex computing infrastructure to achieve the desired results.

Thus, email client users need an improved means for using existingmessaging systems to process, display, and store multiple relatedelectronic messages. The present invention addresses this need.

It is an object of the present invention to provide email users with amethod to store messages without duplicating message content.

An additional object of the present invention is to provide participantsof an extended message exchange with a method for viewing a morecomplete conversation without needing to open or otherwise sort allresponses individually.

An additional object of the present invention is to increase theefficacy of electronic communications, including reducing the time spentto sort and read through multiple responses in different messages frommultiple senders.

An additional object of the present invention is to increase the storageefficiency for electronic communications.

These and other objects of the invention will be apparent to thoseskilled in the art from the following detailed description of apreferred embodiment of the invention.

SUMMARY OF THE INVENTION

The invention disclosed herein is a process for composing and displayinga consolidated message document. The preferred embodiment of thedisclosed invention is a computer program that configures one or moregeneral-purpose computers to implement the inventive process.

Responsive to a user's selection of a message, the inventive processidentifies all other related messages that the user has received,inserts the related messages into a consolidated message document, anddisplays the consolidated message document on the user's output device.In the preferred embodiment, the inventive process further comprises thesteps of removing duplicate message content, sorting the relatedmessages within the consolidated message document according touser-specified preferences, storing the consolidated message document,and marking the related messages for deletion.

BRIEF DESCRIPTION OF DRAWINGS

The novel features believed characteristic of the invention are setforth in the appended claims. The invention itself, however, as well asa preferred mode of use, further objectives and advantages thereof, willbest be understood by reference to the following detailed description ofan illustrative embodiment when read in conjunction with theaccompanying drawings, wherein:

FIG. 1 represents a message that a user has created to send to multiplerecipients;

FIG. 2 and FIG. 3 represent typical responses to the message of FIG. 1,using prior art system;

FIG. 4 illustrates the internal configuration of a computer having thecomputer program of the present invention loaded into memory;

FIG. 5 illustrates a prior art architecture for connecting varioushardware devices to create a network for transferring data;

FIG. 6 illustrates the function of the present invention integrated witha prior art messaging system;

FIG. 7 represents a typical prior art listing of message headers in agraphical user interface;

FIG. 8 illustrates the inventive process for composing and displaying aconsolidated message document;

FIG. 9 represents an embodiment of a consolidated message document; and

FIG. 10 illustrates an embodiment of a graphical user interface to amessaging system integrated with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

A person of ordinary skill in the art will appreciate that the presentinvention may be implemented in a variety of software and hardwareconfigurations. It is believed, however, that the invention is describedbest as a computer program that configures and enables one or moregeneral-purpose computers to implement the novel aspects of theinvention.

As used herein, the term “computer” includes, without limitation, anymachine that is capable of processing data and performing logicoperations according to a predefined set of instructions.

A “program” includes any predefined set of instructions capable ofdirecting a computer to process data or perform logic operations.

The internal configuration of a computer, including connection andorientation of the processor, memory, and input/output devices, is wellknown in the art. FIG. 4 represents the internal configuration of acomputer having the computer program of the present invention loadedinto memory 400. The computer program of the present invention isdepicted as message extraction and consolidation program (MECP) 430,which operates in concert with messaging program 420. Memory 400 is onlyillustrative of memory within a computer and is not meant as alimitation. Memory 400 also contains resource data 410. The presentinvention may interface with resource data 410 through memory 400.

In alternative embodiments, MECP 430 and its components can be stored inthe memory of other computers. Storing MECP 430 in the memory of othercomputers allows the processor workload to be distributed across aplurality of processors instead of a single processor. Furtherconfigurations of MECP 430 across various multiple memories andprocessors are known by persons skilled in the art.

FIG. 5 illustrates a common prior art architecture for connectingvarious hardware devices to create a network for transferring data.Computer network 500 comprises local computer 501 electrically coupledto network connection 502. In FIG. 5, local computer 501 is coupledelectrically to remote computer 503 via network connection 502. Localcomputer 501 also is coupled electrically to server 504 and persistentstorage 506 via network connection 502. Network connection 502 may be asimple local area network (LAN) or may be a larger wide area network(WAN), such as the Internet. While computer network 500 depicted in FIG.5 is intended to represent a possible network architecture, it is notintended to represent an architectural limitation.

MECP 430 described herein can be stored within memory 400 of anycomputer or server depicted in FIG. 5. Alternatively, MECP 430 can bestored in an external storage device such as persistent storage 506, ora removable disk such as a CD-ROM (not pictured). Additionally,messaging program 420 and MECP 430, as described in detail below, aregenerally loaded into the memory of more than one computer of FIG. 5 toenable users on different computers to exchange messages over networkconnection 502.

Messaging program 420 represents any computer program that configures acomputer to send and receive messages through a communications media,such as network connection 502. A person of skill in the art willappreciate that messaging program 420 may be embodied in any prior artelectronic mail program loaded into the memory of a local computer, suchas local computer 501. A person of skill in the art also will appreciatethat the inventive functions of MECP 430 may be implemented as astand-alone program, or be integrated into any prior art messagingprogram, such as messaging program 420.

FIG. 6 illustrates the general operation of the present invention whenintegrated with messaging program 420. In general, messaging program 420receives and stores messages 600 in persistent storage, such aspersistent storage 506, in real time. The data structure of a message600 is well known in the art and is not described in detail here. Forpurposes of this discussion, though, each message 600 is assumed tocomprise a message header and a message body. A message header includesdata that represents properties of the respective message, such as thesender, subject, and date. A message body includes data that representsthe substance of the communication.

Referring again to FIG.6, messaging program 520 displays a messageheader (605) for each message in persistent storage, and updates thedisplay as it receives and stores new messages. FIG. 7 represents atypical prior art graphical user interface (GUI) to the list of messageheaders. GUI 700 is referred to colloquially as an “Inbox.” To view amessage body, a user generally selects a message header and then“double-clicks” the header or selects an “open” command from a menu(610). In the preferred embodiment, GUI 700 includes a single commandbutton with which a user can activate MECP 430. MECP 430 then identifiesand consolidates any messages related to the user-selected message(615), resulting in consolidated message document 620. The process ofidentifying and consolidating related messages is described in detailbelow and illustrated in FIG. 8. Messaging program 420 then displaysconsolidated message document 620 (625). As indicated in FIG. 6, variousembodiments of MECP 430 provide a user with options to reply to multiplemessages by replying to consolidated message document 620 (630), as wellas options for storing consolidated message document 620 (635) andmarking related messages for deletion (640). MECP 430 also may allow auser to forward consolidated message document 620 to additionalrecipients.

The following discussion assumes, for illustrative purposes only, that auser (“the sender”) has sent an initial message substantially similar tothe message depicted in FIG. 1. This discussion also assumes that thesender has received responsive messages substantially similar to thosedepicted in FIG. 2 and FIG. 3. The sender also may have receivedadditional responses and messages, as represented in GUI 700 (see FIG.7). Finally, as discussed above, MECP 430 generally executes in responseto a user's command to view a message. A person of skill in the art willappreciate that there are many methods for implementing a GUI to MECP430, and such methods are not described in detail here.

Referring to FIG. X for illustration, MECP 430 responds to a user'scommand to view a message by comparing stored messages 600 in persistentstorage 506 (800) with the message that the user has selected forviewing (the “active” message). MECP 430 examines the properties of eachstored message 600 to determine if the message's properties match theactive message's properties (820), according to pre-defined matchcriteria 830+The preferred embodiment of MECP 430 allows the user todefine the criteria for matching messages, as indicated in FIG. 8, but aperson of skill in the art will appreciate that a system administratoror other party also may establish the criteria, or embed them directlyinto the program itself. Any message 600 that matches the activemessage, as determined by the pre-defined criteria, is referred toherein as a “related” message. If MECP 430 determines that a message 600is related to the active message, MECP 430 extracts the message toresource data 410 (845). Once MECP 430 has identified all relatedmessages, MECP 430 then identifies sections of related messages that areduplicated in each message (850). A process for identifying duplicatemessage content is disclosed in U.S. patent application ______, which isincorporated herein by reference, but other processes available in theart may be used as well. Sections of duplicate message content arereferred to herein collectively as the “base section;” sections that arenot comprised of duplicate content are referred to as “new” sections.After identifying the base section and any new sections, NMCP 430creates consolidated message document 620 and inserts the base section.MECP 430 then merges all new sections of related messages 600 inconsolidated document 620 (860). In a preferred embodiment, MECP 430also arranges new sections of related messages 600 within consolidatedmessage document 620 according to the user's preferences. MECP 430 maybe configured to use any number of message properties, includingtimestamp, subject, sender, or any combination thereof, to arrangerelated messages 600 within consolidated message document 620. A personof skill in the art will appreciate that MECP 430 may be configured toarrange related messages 600 according to predefined, default criteria,or according to a user's preferences.

Thus, referring to FIG. 7 for illustrative purposes, if a user selectsthe message header with the subject line “RE: XYZ Update” received at3:45 P.M. on August 4 from Mary Jones, then MECP 430 will examine allother messages for similar properties. Although MECP 430 may use anynumber of criteria to establish that a message is related to another,for purposes of this example, it is assumed that MECP 430 has beenconfigured to examine the “subject” field. Thus, in this example, MECP430 would determine that only the three most recent messages are relatedto the active message, since those three messages are the only messageswith identical subject lines. Consequently, MECP 430 would store onlythese three messages as resource data 410. MECP 430 would then identifythe base section, which, in this example, would comprise the initialmessage (see FIG. 1), and insert the base section into a consolidatedmessage document. MECP 430 would then insert any new sections, includingany new sections in the active message, into the same consolidatedmessage document. In alternate embodiments, MECP 430 may include onlynew sections of related messages that the user received before theactive message, or may include all new sections. In a preferredembodiment, if MECP 430 includes only new sections from previousmessages, then MECP 430 would notify the user that the user has receivedother related messages after receiving the active message, but the latermessages are not included in the consolidated message document. FIG. 9represents one embodiment of the consolidated message document that MECP430 would produce if given the messages discussed in this example.

In its preferred embodiment, MECP 430 further includes security controlsthat allow a user to limit a recipient's ability to alter the contentsof the consolidated message document.

In its preferred embodiment, MECP 430 also marks related messages fordeletion, in order to facilitate managing and storing messages.Referring again to the example just discussed, after MCP 430 generatesthe consolidated message document of FIG. 9, MECP 430 would mark each ofthe related messages for deletion, as depicted in FIG. 10. The user,then, could delete the related messages with a single click of a commandbutton. Alternatively, the user could configure MECP 430 to delete suchrelated messages automatically.

A preferred form of the invention has been shown in the drawings anddescribed above, but variations in the preferred form will be apparentto those skilled in the art. The preceding description is forillustration purposes only, and the invention should not be construed aslimited to the specific form shown and described. The scope of theinvention should be limited only by the language of the followingclaims.

1. A process for composing and displaying a consolidated messagedocument, the process comprising the steps of: selecting a firstmessage; comparing the first message with one or more stored messages;determining if each stored message is related to the first message; andresponsive to determining that one or more stored message is related tothe first message, creating a consolidated message document having thefirst message, inserting one or more of the related messages into theconsolidated message document, and displaying the consolidated messagedocument on an output device.
 2. The process of claim 1 wherein theinserting step further comprises: sorting the related messages by one ormore common properties.
 3. The process of claim 2 wherein: each relatedmessage has a timestamp property; and the sorting step comprisesordering the related messages by their timestamp properties.
 4. Theprocess of claim 2 wherein: each related message has a subject property;and the sorting step comprises ordering the related messages by theirsubject properties.
 5. The process of claim 2 wherein: each relatedmessage has a sender property; and the sorting step comprises orderingthe related messages by their sender properties.
 6. The process of claim1 further comprising the step of: storing the consolidated messagedocument in a memory.
 7. The process of claim 1 further comprising thestep of: marking the second message for deletion.
 8. The process ofclaim 7 further comprising the step of deleting the second message. 9.The process of claim 1 further comprising the step of deleting thesecond message.
 10. The process of claim 1 further comprising the stepof: before inserting a related message into the consolidated messagedocument, identifying content in the first message that is repeated inthe related message, and removing the repeated content from the relatedmessage.
 11. The process of claim 1 wherein: the first message has afirst subject property; each stored message has a second subjectproperty; the comparing step comprises comparing the first subjectproperty to the second subject property; and the stored message isdetermined to be related to the first message if the first subjectproperty is the same as the second subject property.
 12. The process ofclaim 1 wherein: the first message has a first sender property; eachstored message has a second sender property; the comparing stepcomprises comparing the first sender property to the second senderproperty; and the stored message is determined to be related to thefirst message if the first sender property is the same as the secondsender property.
 13. A data processing machine comprising: a processor;a memory; an output device; a plurality of messages stored in thememory; a consolidated message document in the memory; means forselecting a message stored in the memory; means for identifying messagesthat are related to the selected message; means for inserting theselected message and the related messages into the consolidated messagedocument; and means for displaying the consolidated message document onthe output device; whereby a user of the data processing machine canview the selected message and the related messages in the consolidatedmessage document on the output device.
 14. The data processing machineof claim 13 further comprising: means for storing the consolidatedmessage document in the memory.
 15. The data processing machine of claim13 further comprising: means for storing the consolidated messagedocument in a second memory.
 16. The data processing machine of claim 13further comprising: means for marking related messages; whereby a usercan delete messages that are marked.
 17. The data processing machine ofclaim 13 further comprising: means for deleting related messages;whereby the processor can delete related messages after inserting therelated messages into the consolidated message document.
 18. The dataprocessing machine of claim 13 further comprising: means for sorting therelated messages by one or more properties of the related messages,before the related messages are inserted into the consolidated messagedocument.
 19. The data processing machine of claim 18 wherein: at leastone of the properties of the related messages comprises a timestamp. 20.The data processing machine of claim 13 wherein: each stored message hasa subject property; and the means for identifying related messagescomprises a computer program operable on the data processing machinethat configures the processor to compare the value of each storedmessage's subject property, and determine that each message having thesame value of the subject property is related. 21-35. (canceled)